using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MediatR;
using RBAC.ErrorCode;

namespace RBAC.Write.Api.Application.Command.ERP.SalesManagement.Return
{
    /// <summary>
    /// 导出退货通知单命令
    /// </summary>
    public class ExportReturnNoticeCommand : IRequest<APIResult<byte[]>>
    {
        /// <summary>
        /// 单据编码
        /// </summary>
        public string? BillCode { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        public string? CustomerName { get; set; }

        /// <summary>
        /// 销售员
        /// </summary>
        public string? SalesPerson { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        public int? BillStatus { get; set; }

        /// <summary>
        /// 业务状态
        /// </summary>
        public int? BusinessStatus { get; set; }

        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime? StartDate { get; set; }

        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime? EndDate { get; set; }

        /// <summary>
        /// 导出类型：1=单据模式，2=明细模式
        /// </summary>
        public int ExportType { get; set; } = 1;

        /// <summary>
        /// 是否导出全部
        /// </summary>
        public bool ExportAll { get; set; } = false;

        /// <summary>
        /// 页码
        /// </summary>
        public int PageIndex { get; set; } = 1;

        /// <summary>
        /// 每页条数
        /// </summary>
        public int PageSize { get; set; } = 10000;
    }
}